The present invention relates to data processing, and more specifically, to bi-directional synchronization of load balancing switches.
Data centers are generally centralized facilities that provide Internet and intranet services needed to support businesses and organizations. A typical data center can house various types of electronic equipment, such as computers, servers (e.g., email servers, proxy servers, and DNS servers), switches, routers, data storage devices, and other associated components. In addition, data centers typically deploy network security components, such as firewalls, VPN (virtual private network) gateways, and intrusion detection systems.
The data center may employ a network element consisting of both an ingress switch and an egress switch to handle data passing through servers. In some networking approaches, redundancy of switches may be employed as a fail-safe mechanism in case a primary switch falters. Typically, redundant switches may be configured to optimize load distribution of data traffic on servers. Under an Active-Passive scheme, the redundant switch may be operated only when its associated primary switch fails. This may be considered inefficient because the redundant component is idle most of the time. Under an Active-Active scheme, the primary switch and redundant switch may be operated simultaneously. To optimize efficient load balancing, health checks may be sent from the switches to the servers to determine their status and synchronization of the primary and redundant switches may be performed to update the switches in response to failed interfaces with the servers.
Some types of health check requests under an Active-Active scheme may be sent from the switch directly to a server. Upon receiving a health check request, the server may send a health check response back through said switch from where it was originated. This type of health check may be preferable to support a particular application being processed. However, with this method of server health checking, the primary switch may differ from the redundant component under an Active-Active environment. The totality of failed servers in the network element may not be visible from the primary switch because the primary switch may not be able to identify server interfaces failing from the redundant component side and vice versa. The local application hash table updated on the primary switch based on the server health check results on the primary switch may differ from the local application hash table updated on the redundant switch based on the server health check results on the redundant switch. Thus, improved synchronization and consolidation of both the server health check results and application hash table results between the primary and redundant switches may be beneficial for load balancing of data traffic among servers to function properly.